#ifndef __TEXTURE_H__
#define __TEXTURE_H__

#include <string>
#include <gl/glew.h>

namespace Hope {

    class Texture
    {
    public:
        Texture(const std::string &filename, GLenum target);
        ~Texture();

        void Bind(GLenum textureUnit);

        bool init();

    private:
        int m_width{};
        int m_height{};

        char *m_data{};

        std::string m_filename{};

        GLuint m_textureObj;
        GLenum m_textureTarget;
    };

}

#endif